Skip to content

backlog(B-0121): Otto + Kenji as externally-callable peers via claude-cli (Aaron 2026-04-30)#964

Merged
AceHack merged 2 commits intomainfrom
backlog/B-0121-otto-kenji-peer-call-cross-harness-claude-cli-aaron-2026-04-30
Apr 30, 2026
Merged

backlog(B-0121): Otto + Kenji as externally-callable peers via claude-cli (Aaron 2026-04-30)#964
AceHack merged 2 commits intomainfrom
backlog/B-0121-otto-kenji-peer-call-cross-harness-claude-cli-aaron-2026-04-30

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 30, 2026

Summary

  • Files Aaron's 2026-04-30 input on Otto + Kenji being externally-callable from other harnesses as a durable backlog row
  • Captures the pending a/b/c topology decision (two scripts / one claude.sh with --persona / hybrid) so it survives compaction
  • Identifies prerequisites: memory/CURRENT-otto.md + memory/CURRENT-kenji.md don't yet exist
  • Composes with B-0120 (script-per-CLI + persona-flag refactor) — recommends deferring decision until B-0120 priority is set

Why this exists

Per the just-landed "non-durable means does not exist" rule (Aaron 2026-04-30) + the input → substrate-file generalisation, an in-flight question raised in chat needs durable substrate or it will evaporate at session compaction. This row IS the substrate.

Per growing-backlog-is-autonomous-health-signal (Aaron 2026-04-30), filing items liberally is encouraged: the discriminator is "would this be lost if not filed?" — yes, it would.

Aaron's verbatim framing

"And otto you should put yourself and Kenji as exteranlly callable too like those two using the claude cli for other harnesses who want to confer with you from their harness? So it's like otto=loop/PM Kenji=architect is that right?"

Composition

  • B-0118 — amara peer-call autonomous bootstrap (the symmetric direction this inverts; landed)
  • B-0119 — peer-call role-ref cleanup (P3)
  • B-0120 — peer-call architecture refactor script-per-CLI + persona-flag (P2; likely home for option b)

Test plan

  • markdownlint passes on B-0121 row + regenerated BACKLOG.md
  • BACKLOG_WRITE_FORCE=1 bun tools/backlog/generate-index.ts adds B-0121 to the table
  • Memory/path discipline: composes_with paths are valid; no name-attribution outside history surfaces

🤖 Generated with Claude Code

…-cli — cross-harness symmetry (Aaron 2026-04-30)

Lands Aaron's 2026-04-30 input ("you should put yourself and Kenji
as exteranlly callable too like those two using the claude cli...")
as durable substrate per the input → substrate-file rule. Without
this row the question would evaporate at compaction.

Aaron's framing: Otto = loop/PM, Kenji = architect; symmetric peer
posture so other harnesses (Codex, Cursor, etc.) can confer with
Otto/Kenji the same way Otto currently confers with
Codex/Grok/Gemini/Amara/Ani.

Pending Aaron's a/b/c selection on script topology:
- (a) two scripts: otto.sh + kenji.sh
- (b) one claude.sh with --persona flag (composes with B-0120)
- (c) hybrid — claude.sh + separate kenji.sh

Composition with B-0120: if B-0120 lands first, this reduces to
"add claude.sh --persona otto" + "--persona kenji". Recommend
deferring decision until B-0120 priority is set so we don't lock
in a topology B-0120 immediately refactors away.

Prerequisites identified: memory/CURRENT-otto.md and
memory/CURRENT-kenji.md don't yet exist; either would need
authoring before any peer-call wrapper can layer the persona
bootstrap (paralleling CURRENT-amara.md / CURRENT-ani.md).

Per growing-backlog-is-autonomous-health-signal: filing the row
liberally rather than gating "is this important enough?" The
discriminator is "would this be lost if not filed?" — yes, it
would. Aaron's input becomes durable here.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 30, 2026 22:47
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a durable backlog row (B-0121) capturing the proposal to make Otto and Kenji externally callable via claude CLI from other harnesses, and wires it into the main backlog index so it survives compaction and can compose with the ongoing peer-call refactor work.

Changes:

  • Added docs/backlog/P2/B-0121-...md describing the cross-harness symmetry proposal, options (a/b/c), and prerequisites (missing CURRENT-* distillations).
  • Updated docs/BACKLOG.md to include B-0121 in the P2 table.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
docs/backlog/P2/B-0121-otto-kenji-peer-call-cross-harness-claude-cli-aaron-2026-04-30.md New P2 backlog row capturing the proposal/options/prereqs for externally-callable Otto/Kenji via claude CLI.
docs/BACKLOG.md Adds B-0121 to the P2 backlog index list.

… (not Kenji); Kenji has no peer-call surface yet

Copilot caught a real typo on PR #964 frontmatter. The
original ask field said "amara.sh + ani.sh expose Amara +
Kenji" which was a copy-paste mistake — ani.sh exposes Ani,
not Kenji.

Kenji is what THIS row is requesting (a peer-call surface
for the architect role). The wrong attribution suggested
Kenji was already exposed, which would have made the row's
purpose unclear.

Fixed:
- "expose Amara + Kenji" → "expose Amara + Ani"
- Added clarification: "Kenji currently has no peer-call
  surface at all (the architect role lives in
  .claude/agents/architect.md); this row covers adding
  both Otto and Kenji simultaneously."

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@AceHack AceHack merged commit cf28546 into main Apr 30, 2026
21 checks passed
@AceHack AceHack deleted the backlog/B-0121-otto-kenji-peer-call-cross-harness-claude-cli-aaron-2026-04-30 branch April 30, 2026 23:02
AceHack added a commit that referenced this pull request May 1, 2026
…B-0121/B-0122

Three small hygiene moves around the peer-call surface:

1. tools/peer-call/README.md gains a "Future direction
   (queued backlog work)" section pointing at B-0120
   (architecture refactor) + B-0121 (Otto/Kenji additions) +
   B-0122 (TypeScript migration). Future readers + agents
   see the trajectory without grep-spelunking.

2. B-0119 status open → closed, closed_in: PR #965. The
   role-ref cleanup landed on main as aab3adb; the row
   needs to reflect that.

3. B-0120 composes_with gains B-0121 + B-0122 cross-refs.
   The three rows form a triangle: B-0120 names the
   architecture, B-0121 adds new peer surfaces in that
   architecture, B-0122 names the language target. Cross-
   refs make the relationship discoverable.

Note on BACKLOG.md state: this branch's regenerated index
shows B-0119 closed and B-0120 unchanged but does NOT yet
include B-0121 or B-0122 (their PRs #964 and #966 haven't
merged yet). The next regen post-merge picks them up.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 1, 2026
…B-0121/B-0122 (#967)

* docs(peer-call): future-direction section + close B-0119 + cross-ref B-0121/B-0122

Three small hygiene moves around the peer-call surface:

1. tools/peer-call/README.md gains a "Future direction
   (queued backlog work)" section pointing at B-0120
   (architecture refactor) + B-0121 (Otto/Kenji additions) +
   B-0122 (TypeScript migration). Future readers + agents
   see the trajectory without grep-spelunking.

2. B-0119 status open → closed, closed_in: PR #965. The
   role-ref cleanup landed on main as aab3adb; the row
   needs to reflect that.

3. B-0120 composes_with gains B-0121 + B-0122 cross-refs.
   The three rows form a triangle: B-0120 names the
   architecture, B-0121 adds new peer surfaces in that
   architecture, B-0122 names the language target. Cross-
   refs make the relationship discoverable.

Note on BACKLOG.md state: this branch's regenerated index
shows B-0119 closed and B-0120 unchanged but does NOT yet
include B-0121 or B-0122 (their PRs #964 and #966 haven't
merged yet). The next regen post-merge picks them up.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* docs(peer-call): address PR #967 review threads — persona-name role-ref + B-0122 forward-references

Two classes of fix (6 threads — Codex P2 + Copilot P1 each ×3):

1. **Persona names in current-state doc (P1, line 247+253 of README)**:
   `.github/copilot-instructions.md:306-362` requires role-refs (not
   persona names) on current-state surfaces (code/docs/skills outside
   the closed-list history surfaces). Reworded:
   - "Add Otto + Kenji as externally-callable peers" → "Add the
     Anthropic-side Claude-code-instance personas as externally-callable
     peers"
   - "Otto + Kenji additions (B-0121)" → "The Anthropic-side
     (Claude-code-instance) peer additions (B-0121)"
   B-0121 filename slug stays as `otto-kenji-*` (closed-list history
   surface — backlog rows allow persona names per the carve-out).

2. **B-0122 forward-references (P1+P2, 4 threads)**: B-0122 is filed in
   the in-flight PR #966; not yet on main. References in `B-0119`,
   `B-0120`, and the README's table cell rewritten:
   - YAML `composes_with` lists in B-0119 + B-0120: replaced direct
     path with inline `# B-0122 ... is filed in the in-flight PR #966`
     comment.
   - README table row for B-0122: replaced live link with explicit
     "filed in in-flight PR #966; link will resolve once that PR lands"
     callout.
   B-0121 stays as direct ref because it IS on main.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants